/**
 * $Id: playerStats.h 4 2010-10-03 12:51:59Z pmedia@xi-intersection.net $
 */

// -----------------------------------------------------------------------------
// Enumerations
// -----------------------------------------------------------------------------



// -----------------------------------------------------------------------------
// Structures
// -----------------------------------------------------------------------------

struct PlayerStats {
	unsigned int health;
	unsigned int healthContainer;
	
	unsigned int healthReserveContainers;
	unsigned int healthReserve;
	
	/**************************************************************************/
	
	unsigned int currentSuit;
	
	/**************************************************************************/
	
	unsigned int activeIceBeam:1;
	unsigned int activeFireBeam:1;
	unsigned int activeWaveBeam:1;
	unsigned int activePlasmaBeam:1;
	unsigned int activeHyperBeam:1;
	unsigned int activeChargeBeam:1;
	unsigned int activeGrapplingBeam:1;
	
	unsigned int activeSpazer:1;
	
	unsigned int activeSuperJump:1;
	
	unsigned int activeMorphBall:1;
	unsigned int activeMorphBallBomb:1;
	unsigned int activeMorphBallPowerBomb:1;
	
	unsigned int activeSpringBall:1;
	
	unsigned int activeScrewAttack:1;
	
	unsigned int activeRearBoost:1;
	unsigned int remainingRearBoostEnergy;
	unsigned int maxRearBoostEnergy;
	
	unsigned int activeVisor;
	
	unsigned int activeIcon;
	
	/**************************************************************************/
	
	// General Equipment
	
	unsigned int hasZeroSuit:1;
	unsigned int hasPowerSuit:1;
	unsigned int hasVariaSuit:1;
	unsigned int hasGravitySuit:1;
	
	unsigned int hasIceBeam:1;
	unsigned int hasFireBeam:1;
	unsigned int hasWaveBeam:1;
	unsigned int hasPlasmaBeam:1;
	unsigned int hasHyperBeam:1;
	unsigned int hasChargeBeam:1;
	unsigned int hasGrapplingBeam:1;
	
	unsigned int hasSpazer:1;
	
	unsigned int hasSuperJump:1;
	
	unsigned int hasMorphBall:1;
	unsigned int hasMorphBallBomb:1;
	unsigned int hasMorphBallPowerBomb:1;
	
	unsigned int hasSpiderBall:1;
	unsigned int hasSpringBall:1;
	
	unsigned int hasScrewAttack:1;
	
	unsigned int hasRearBoost:1;
	
	// Visors
	
	unsigned int hasCombatVisor:1;
	unsigned int hasXRayVisor:1;
	unsigned int hasScanVisor:1;
	unsigned int hasDarkVisor:1;
	unsigned int hasEchoVisor:1;
	unsigned int hasThermalVisor:1;
	
	// Items
	
	unsigned int hasSuperMissile:1;
	unsigned int SuperMissileCount;
	
	unsigned int hasIceMissile:1;
	unsigned int IceMissileCount;
	
	unsigned int hasDeffusionIceMissile:1;
	unsigned int DeffussionIceMissileCount;
	
	unsigned int hasIceSpreader:1;
	unsigned int hasFlameThrower:1;
	/**************************************************************************/
};
